package com.chat.business.service;

import com.chat.common.dto.GetGroupDTO;
import com.chat.common.dto.GroupDTO;
import com.chat.common.entity.Group;
import com.baomidou.mybatisplus.extension.service.IService;
import com.chat.common.form.ListForm;
import com.chat.common.vo.GetGroupVO;
import com.chat.common.vo.GroupVO;
import com.chat.common.vo.R;

import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author weikjie
 * @since 2024-03-29
 */
public interface IGroupService extends IService<Group> {
    R<GroupVO> createGroup(GroupDTO groupDTO);
    R disbandGroup(GroupDTO groupDTO);
    R updateGroupData(GroupDTO groupDTO);

    List<Group> findByKeyword(String keyword);
    ListForm<GetGroupVO> getAllGroups(GetGroupDTO getGroupDTO);

    R DisableGroup(String groupId);

    R EnableGroup(String groupId);

    R<Group> getGroupByAccount(String account);
}
